#ifndef GENERAL
#define GNEERAL


#include<cmath>
#include<iostream>
#include<limits>
#include<memory>
#include<cstdlib>

//#include<random>


using std::make_shared;
using std::shared_ptr;

const double inf = std::numeric_limits<double>::infinity();
const double pi = 3.1415926535897932385;

inline double deg2rad(double deg) {
	return deg * pi / 180;
}

inline double random_double() {
	return std::rand() / (RAND_MAX + 1.0);
}

inline double random_double(double min,double max) {
	return min + (max-min)* random_double();
}




//stl version
/*inline double random_double() {
	static std::uniform_real_distribution<double> distribution(0.0, 1.0);
	static std::mt19937 generator;
	return distribution(generator);
}*/



#include"color.h"
#include"interval.h"
#include"ray.h"
#include"vec3.h"
#include"material.h"
#include"camera.h"




#endif // !GENERAL

